/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.seguranca.facade;

import br.uniceub.fsw.util.HttpRequestWithModifiableParameters;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Facade de execução do login.
 * Serve como interface de acesso à camada de dados e
 * implementa a camada de negócio da aplicação.
 * 
 * @author Bruno Schifer Bernardi
 */
public class LogoutFacade {
    /**
     * Mensagem de retorno do sistema.
     */
    private String message;
    
    /**
     * Construtor da classe.
     */
    public LogoutFacade() {
    }

    /**
     * Getter da mensagem de retorno.
     * 
     * @return Mensagem de retorno.
     */
    public String getMessage() {
        String retorno = null;
        if(this.message == null || this.message.equals("")) {
            retorno = "&nbsp";
        } else {
            retorno = this.message;
        }
        return retorno;
    }

    /**
     * Setter da mensagem de retorno.
     * 
     * @param message Mensagem de retorno.
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * Responsável por executar a operação selecionada pelo usuário.
     * 
     * @param req Requisição web do tipo HTTP.
     * @param resp Resposta da requisição HTTP.
     */
    public void operacao(HttpServletRequest req, HttpServletResponse resp) {
        String oper = req.getParameter("operacao");

        if(oper != null)
        {
            if (oper.equals("sair")) {
                this.sair(req, resp);
            }
        }
    }
    
    /**
     * Remove autenticação de um usuário no sistema.
     * 
     * @param req Requisição web do tipo HTTP.
     * @param resp Resposta da requisição HTTP.
     */
    public void sair(HttpServletRequest req, HttpServletResponse resp) {
        req.getSession().setAttribute("SESSION_USER", null);
        
        RequestDispatcher rd = req.getRequestDispatcher("/gestao/efetuarLogin/efetuarLogin.jsp");
        try {
            rd.forward(req, resp);
        } catch (Exception ex) {
            System.out.println("LogoutFacade.sair() - Ex: " + ex.getMessage());
        }
    }
}
